package com.znxz.hzqiuxm.ziniublog.user.domain.entity;

import com.znxz.hzqiuxm.ziniublog.user.domain.valobj.Address;
import com.znxz.hzqiuxm.ziniublog.user.domain.valobj.LoginSecurity;
import com.znxz.hzqiuxm.ziniublog.user.domain.valobj.Res;
import com.znxz.hzqiuxm.ziniublog.user.domain.valobj.ZnCharacter;
import lombok.Data;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * Copyright © 2018年 ziniuxiaozhu. All rights reserved.
 *
 * @Author 临江仙 hzqiuxm@163.com
 * 用户类
 * @Date 2018/8/30 20:15
 */
@Data
@Document("user")
public class UserDO {


    /**
     * 用户编号
     */
    @Id
    private ObjectId id;


    /**
     * 用户名
     */
    @Indexed(unique = true,dropDups=true)
    private String userName;

    /**
     * 昵称或花名
     */
    private String showName;
    private String password;
    private Integer sex;
    private Integer age;
    /**
     * 账号等级，一般用游戏职业来命名
     */
    private String rank;

    /**
     * 手机号，也可以作为登录名使用
     */
    @Indexed(unique = true,dropDups=true)
    private String cellNum;
    /**
     * 节操值
     */
    private Integer jc;

    private String email;

    /**
     * 职业段位相关信息
     */
    private ZnCharacter character;

    /**
     * 用户头像
     */
    private String avatar;

    /**
     * 用户荣誉名称列表,存放对应的荣誉名称
     */
    private List<String> honorsName;

    /**
     * 用户角色信息
     */
    private List<String> roles;

    /**
     * 用户通讯地址
     */
    private List<Address> addressDes;

    /**
     * 用户安全登录安全信息
     */
    private LoginSecurity loginSecurity;

    private LocalDateTime gmtCreate;
    private LocalDateTime gmtModfiy;
    /**
     * 用户账号状态
     * 0 注册未激活  1 正常激活 8 冻结 9 销户
     */
    private Integer stage;
}
